Linux Shell 编程基础 ( 一 )

#Linux shell编程基础 ( 一 )

标签: linux shell


系统变量

1
2
3
4
5
6
7
$0		#当前系统名称
$n #当前程序的第n个参数
$* #当前程序的所有参数(不包含程序本身)
$# #当前程序的参数个数(不包含程序本身)
$? #命令或执行状态下,一般返回0表示执行成功
$UID #当前用户的ID
$PWD #当前所在目录

条件比较

1
2
3
[判断式]		#括号后面必须有空格
[[判断式]] #括号后面必须有空格
((算式)) #括号后面必须有空格

整数比较

1
2
3
4
5
6
-eq		#测试两个整数是否相等
-ne #测试两个整数是否不等
-gt #测试一个数是否大于另一个数
-lt #测试一个数是否小于另一个数
-ge #大于或等于
-le #小于或等于

字符串比较

1
2
3
4
==		#等于  两边要有空格
!= #不等
> #大于
< #小于

逻辑运算符
逻辑与 : &&
#第一个条件为假 第二个条件不用在判断
#第一个条件为真 第二个条件必须得判断

逻辑或 : ||
#第一个条件为假 第二个条件必须在判断
#第一个条件为真 第二个条件不用在判断

文件测试

1
2
3
4
5
6
7
8
9
10
-z		#string 测试指定字符是否为空,空着真,非空为假
-n #string 测试指定字符串是否为不空,空为假 非空为真
-e #FILE 测试文件是否存在
-f #file 测试文件是否为普通文件
-d #file 测试指定路径是否为目录
-r #file 测试文件对当前用户是否可读
-w #file 测试文件对当前用户是否可写
-x #file 测试文件对当前用户是都可执行
-z #是否为空 为空则为真
-a #是否不空

IF分支

1
2
3
4
if 判断条件 ; then
语句1
语句2
fi
1
2
3
4
5
if 判断条件 ; then
语句1
else
语句2
fi
1
2
3
4
5
6
7
8
9
if 判断条件 ; then
语句1
elif 判断条件 ; then
语句2
elif 判断条件 ; then
语句3
else
语句4
fi

Case分支

1
2
3
4
5
6
7
8
9
10
11
case "变量" in
"变量1")
语句1
;;
"变量2")
语句2
;;
"*")
其他输出
;;
esac

While循环

1
2
3
4
5
while 判断条件 (为真的时候运行,为假则停止)
do
语句1
语句2
done

for循环

1
2
3
4
5
6
字符性循环:
for 变量 in {列表};
do
语句1
语句2
done
1
2
3
4
5
6
数字循环:
for ((变量;判断条件;循环变量));
do
语句1
语句2
done